Giovanni Campagna [Mon, 20 Aug 2012 20:32:17 +0000 (22:32 +0200)]
Don't fail for EPERM when hardlinking
As the manual page doesn't say, but the in-code kernel documentation
shows, hardlinking for normal users can fail for a variety of
reasons (including very common situations such as non regular file
or non writable file), if the owner of the file does not match
the user linking (e.g. when checking out a shadow repo with a root-
owned master).
If that happens, fail back silently to copying instead of aborting
the whole operation.
https://bugzilla.gnome.org/show_bug.cgi?id=682298
Giovanni Campagna [Fri, 17 Aug 2012 15:13:01 +0000 (17:13 +0200)]
ostree-run-triggers: fix typo in filename comparison function
The comparison function was comparing the first file to itself,
and this resulted in triggers being run in random order.
https://bugzilla.gnome.org/show_bug.cgi?id=682297
Colin Walters [Sat, 18 Aug 2012 00:51:36 +0000 (20:51 -0400)]
embedded-dependencies: Fix ACLOCAL_FLAGS, update for libgsystem
* Handle the libgsystem submodule
* ACLOCAL_FLAGS was broken
* Add srpm-embedded
Stef Walter [Fri, 10 Aug 2012 21:12:01 +0000 (23:12 +0200)]
Include pull and other external commands in usage output
Giovanni Campagna [Mon, 13 Aug 2012 21:45:03 +0000 (23:45 +0200)]
ostadmin: fix command line handling in the builtins
Common code was duplicating the command name and not shifting
arguments properly, which thus required the builtins to be aware
of it, instead of being treated like subcommands.
Colin Walters [Tue, 14 Aug 2012 17:11:45 +0000 (13:11 -0400)]
configure: Fix libsoup detection
* The configure arg was named incorrectly; we don't rely on
libsoup-gnome, just libsoup.
* We need to use AS_IF
Colin Walters [Tue, 14 Aug 2012 16:52:46 +0000 (12:52 -0400)]
autogen: Fetch submodules before running automake
Otherwise automake can't find src/libgsystem.
Stef Walter [Fri, 10 Aug 2012 13:55:26 +0000 (15:55 +0200)]
Support non-builtin commands
* Support executing commands in the path
* This makes 'ostree-pull' work as 'ostree pull'
Colin Walters [Sun, 5 Aug 2012 12:50:33 +0000 (08:50 -0400)]
triggers: Print execution time for each trigger
Colin Walters [Fri, 3 Aug 2012 12:49:22 +0000 (08:49 -0400)]
ostadmin: Use g_spawn_check_exit_status()
Just code cleanup.
Colin Walters [Fri, 3 Aug 2012 12:24:03 +0000 (08:24 -0400)]
ostadmin: Change command line for qemu deploy helper
The qemu helper really wants to copy kernel modules, but not
update the system bootloader. Allow it to reuse ostadmin for
this.
Note that our previous path of shelling out to "cp -al" broke because
it refused to make cross-device links.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: src/libotutil/ot-gio-utils.c
# modified: src/libotutil/ot-gio-utils.h
# modified: src/ostadmin/ot-admin-builtin-deploy.c
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# embedded-dependencies/glib/
# embedded-dependencies/libsoup/
Colin Walters [Fri, 3 Aug 2012 10:09:30 +0000 (06:09 -0400)]
ostadmin: Add --ostree-dir directory
This will be used by the qemu deployment script.
Stef Walter [Mon, 30 Jul 2012 11:04:00 +0000 (13:04 +0200)]
Automatically populate the git submodules in autogen.sh
Colin Walters [Tue, 31 Jul 2012 04:15:02 +0000 (00:15 -0400)]
TODO: update
Colin Walters [Mon, 30 Jul 2012 14:29:45 +0000 (10:29 -0400)]
ostadmin: Print an error message if run as non-root
See https://bugzilla.gnome.org/show_bug.cgi?id=680823
Colin Walters [Thu, 19 Jul 2012 19:11:14 +0000 (15:11 -0400)]
ostadmin: [incompat syntax change] Allow deploying any revision
The old command line syntax assumed you wanted the latest from
a given revision, but to bisect, you really want the ability
to deploy any given one.
Old:
$ ostadmin deploy gnomeos-3.6-i686-{runtime,devel}
New:
$ ostadmin deploy trees/gnomeos-3.6-i686-runtime
$ ostadmin deploy trees/gnomeos-3.6-i686-devel
And note that the deploy directory now changes to:
/ostree/trees/gnomeos-3.6-i686-devel
And now it's possible to:
$ ostadmin deploy trees/gnomeos-3.6-i686-devel trees/gnomeos-3.6-i686-devel^^^
Colin Walters [Thu, 26 Jul 2012 14:17:41 +0000 (10:17 -0400)]
pull: When --depth is specified, ensure we have all requested objects
We were previously optimizing by skipping object traversal if the refs
were unchanged, but if the user specifies a deeper depth than they did
before.
Colin Walters [Thu, 19 Jul 2012 15:01:39 +0000 (11:01 -0400)]
core: Add context when we fail to chmod()/chown()
This helps make things less confusing when we try to create a file not
owned by our uid, such as running ostree-pull as non-root on a
repository owned by root.
Colin Walters [Tue, 17 Jul 2012 12:18:43 +0000 (08:18 -0400)]
core: Drop ot_clear_hashtable for g_clear_pointer()
Colin Walters [Tue, 17 Jul 2012 12:16:54 +0000 (08:16 -0400)]
core: Drop ot_clear_ptrarray in favor of g_clear_pointer
Colin Walters [Tue, 17 Jul 2012 12:14:33 +0000 (08:14 -0400)]
core: Drop ot_clear_gvariant() in favor of g_clear_pointer
Colin Walters [Tue, 17 Jul 2012 12:08:57 +0000 (08:08 -0400)]
core: Remove ot_clear_checksum() in favor of g_clear_pointer()
Colin Walters [Tue, 17 Jul 2012 12:06:20 +0000 (08:06 -0400)]
core: Use g_spawn_check_exit_status()
Colin Walters [Tue, 17 Jul 2012 02:35:18 +0000 (22:35 -0400)]
pull: Only take up one terminal line for status output
And print total bytes transferred at the end.
Colin Walters [Sun, 15 Jul 2012 22:29:15 +0000 (18:29 -0400)]
Fix libgsystem submodule
Colin Walters [Sun, 15 Jul 2012 22:22:41 +0000 (18:22 -0400)]
Hard require GLib 2.34
Anyone wanting to build against an earlier version can use the
embedded-dependencies system.
Colin Walters [Sun, 15 Jul 2012 15:51:57 +0000 (11:51 -0400)]
Add libgsystem as git external
Don't replace ot_lfree and stuff yet though...to much code churn.
Colin Walters [Thu, 12 Jul 2012 15:19:15 +0000 (11:19 -0400)]
pull: Correctly display concurrent libsoup requests
The "status text" code was assuming that libsoup was only doing one
thing at a time, but that's never been the case. Change the code to
display the status of all active requests.
Colin Walters [Sat, 30 Jun 2012 17:49:14 +0000 (13:49 -0400)]
core: drop dead/unused code
The daemon is a nice idea but needs a lot more thought. Let's just
delete the unused code for now and come back to it later.
Colin Walters [Sat, 30 Jun 2012 17:42:22 +0000 (13:42 -0400)]
core: Drop ot_gfile_new_for_path
Not necessary anymore since we switched to GIO_USE_VFS=local in the
binaries.
Colin Walters [Thu, 28 Jun 2012 19:18:10 +0000 (15:18 -0400)]
pull: Fix a memory leak
Colin Walters [Thu, 28 Jun 2012 19:06:18 +0000 (15:06 -0400)]
pull: Fix use-after-free in async fetcher
Refcount the pending data structure.
Colin Walters [Tue, 26 Jun 2012 22:28:59 +0000 (18:28 -0400)]
Release 2012.8
Colin Walters [Thu, 28 Jun 2012 02:37:17 +0000 (22:37 -0400)]
build: Use LDADD libraries to link with, not LDFLAGS
This should fix the build with embedded glib.
Colin Walters [Thu, 28 Jun 2012 00:26:08 +0000 (20:26 -0400)]
Make more compiler warnings into errors
In particular, I want -Werror=format=2 to catch format string bugs.
Colin Walters [Thu, 28 Jun 2012 00:25:56 +0000 (20:25 -0400)]
main: Fix a format string error
Colin Walters [Wed, 27 Jun 2012 19:39:13 +0000 (15:39 -0400)]
embedded deps: Properly quote/handle PATH/LDFLAGS
Colin Walters [Thu, 21 Jun 2012 12:06:27 +0000 (08:06 -0400)]
core: Check out asynchronously
This can be a large performance win in certain circumstances:
* Cold buffer cache (we don't block the whole process)
* Requiring a copy instead of hardlink
Colin Walters [Thu, 21 Jun 2012 15:42:45 +0000 (11:42 -0400)]
tests: Just use OT_TESTS_DEBUG to say "save test data"
Colin Walters [Wed, 20 Jun 2012 19:42:41 +0000 (15:42 -0400)]
pull: Properly propagate errors
Colin Walters [Wed, 20 Jun 2012 19:42:19 +0000 (15:42 -0400)]
build: Fix syntax error in non-embedded build case
Colin Walters [Tue, 19 Jun 2012 20:15:00 +0000 (16:15 -0400)]
build: Various bugfixes for embedded-dependencies
Colin Walters [Tue, 19 Jun 2012 20:14:31 +0000 (16:14 -0400)]
core: Don't silence output of ostree-run-triggers
We want to see which triggers are being run by default.
Colin Walters [Tue, 19 Jun 2012 19:03:16 +0000 (15:03 -0400)]
triggers: Quiet GConf trigger
The default is just way, way too verbose.
Colin Walters [Thu, 14 Jun 2012 20:22:23 +0000 (16:22 -0400)]
Support building with embedded libsoup
Colin Walters [Thu, 7 Jun 2012 21:21:55 +0000 (17:21 -0400)]
Support building with embedded glib
Colin Walters [Thu, 14 Jun 2012 02:09:24 +0000 (22:09 -0400)]
triggers: Fix previous commit
Adrian Perez [Wed, 13 Jun 2012 14:58:53 +0000 (17:58 +0300)]
Add fontconfig trigger
This wil regenerate the fontconfig caches, accounting for modifications in
the system font directories.
Colin Walters [Tue, 12 Jun 2012 18:50:38 +0000 (14:50 -0400)]
core: Fall back to copying checkouts on EMLINK/EXDEV
The previous fix to just ignore symbolic links for hard linking isn't
really good enough, since it can happen for empty files too.
Since this is an optimization, when we get EMLINK, let's instead just
fall back to copying. This also applies to EXDEV.
Colin Walters [Fri, 8 Jun 2012 23:01:20 +0000 (19:01 -0400)]
ostbuild: Move to gnome-ostree module
Since we want to keep "ostree" buildsystem-independent, let's move
ostbuild out into the gnome-ostree module.
http://git.gnome.org/browse/gnome-ostree/commit/?id=
04ba1926e33b442af1e357460e4415d4c0311e87
Colin Walters [Fri, 8 Jun 2012 20:51:51 +0000 (16:51 -0400)]
ostbuild: Fix previous commit (this should have been amended)
Colin Walters [Fri, 8 Jun 2012 20:34:45 +0000 (16:34 -0400)]
ostbuild: Fix -k option to git-mirror
Colin Walters [Thu, 7 Jun 2012 14:19:16 +0000 (10:19 -0400)]
ostbuild: Allow specifying components to git fetch
Colin Walters [Thu, 7 Jun 2012 02:12:49 +0000 (22:12 -0400)]
build: Actually, we need bleeding edge libsoup
The stable version compiles, but just hangs =/
Colin Walters [Thu, 7 Jun 2012 02:06:30 +0000 (22:06 -0400)]
build: Bump libsoup dependency
Colin Walters [Wed, 6 Jun 2012 19:43:42 +0000 (15:43 -0400)]
ostbuild: Add rootdir argument to deploy-qemu
Colin Walters [Wed, 6 Jun 2012 16:56:48 +0000 (12:56 -0400)]
ostbuild: Fix circular dependency between resolve and git-mirror
git-mirror was looking for the latest snapshot, which we don't
have until we resolve.
This leads to some code duplication.
Colin Walters [Wed, 6 Jun 2012 14:02:37 +0000 (10:02 -0400)]
core: Fix mkdtemp invocation
Colin Walters [Wed, 6 Jun 2012 02:55:47 +0000 (22:55 -0400)]
ostbuild: Add -k option to git-mirror
libwacom's sourceforge git server was down...
Colin Walters [Sun, 20 May 2012 20:21:57 +0000 (16:21 -0400)]
pull: Download and checksum asynchronously
This is quite a noticeable speedup when downloading loose objects.
Colin Walters [Tue, 5 Jun 2012 22:29:32 +0000 (18:29 -0400)]
core: Fix memory leak
Colin Walters [Thu, 31 May 2012 14:25:41 +0000 (10:25 -0400)]
core: Just require libsoup, not libsoup-gnome
Colin Walters [Thu, 31 May 2012 14:10:13 +0000 (10:10 -0400)]
TODO: Update
Colin Walters [Wed, 30 May 2012 02:34:11 +0000 (22:34 -0400)]
core: Switch to using mkdtemp() so we only depend on GLib 2.28
We claim to build against 2.28, let's actually make it work.
Colin Walters [Wed, 30 May 2012 02:09:31 +0000 (22:09 -0400)]
core: Drop some dead temporary file code
Matthias Clasen [Sat, 26 May 2012 22:48:06 +0000 (18:48 -0400)]
Trivial: fix a typo
Colin Walters [Sat, 26 May 2012 16:10:51 +0000 (12:10 -0400)]
ostbuild: Have resolve use git-mirror rather than duplicating code
This also brings us back to a sensible world of:
ostbuild resolve --fetch
Doing both fetch *and* writing out the updated revisions.
Colin Walters [Sat, 26 May 2012 15:55:12 +0000 (11:55 -0400)]
core: Don't checkout symbolic links via hardlink
Doing so can easily get us up to the maximum ext4 hardlink count.
Colin Walters [Fri, 25 May 2012 19:01:41 +0000 (15:01 -0400)]
ostbuild: add --diffstat option for source-diff
Colin Walters [Fri, 25 May 2012 19:00:45 +0000 (15:00 -0400)]
core: use GLIB_VERSION_MAX_ALLOWED=2.28
We want to build/run even on relatively old OSes, so that we can
be used to bootstrap and maintain newer builds.
Colin Walters [Fri, 25 May 2012 13:55:10 +0000 (09:55 -0400)]
core: Remove leftover debug print
Colin Walters [Fri, 25 May 2012 01:17:43 +0000 (21:17 -0400)]
Release 2012.7
Colin Walters [Fri, 25 May 2012 00:58:20 +0000 (20:58 -0400)]
core: ostree-pull: Add --depth option
This is useful for getting say the last 10 builds.
Colin Walters [Fri, 25 May 2012 00:14:51 +0000 (20:14 -0400)]
core: Attempt direct link() and fallback on EEXIST
Rather than always doing:
1) make temporary link
2) unlink() target
3) rename()
Just try making the link, and only do the second two if the file
already exists. This reduces system call traffic a lot.
Colin Walters [Thu, 24 May 2012 23:54:36 +0000 (19:54 -0400)]
ostbuild: Add 'tag' concept to manifest, improve git mirroring
We should explicitly distinguish between the case where we have a git
branch we're following, versus an immutable tag. In the latter case,
we can entirely avoid running 'git fetch' for it once we have it.
This is a noticeable speedup in our current scenario of pinning WebKit
to a tag.
The git mirroring code now has a --fetch-skip-secs=X option which
allows us to basically run it in a loop, without hitting remote git
repositories too often.
Colin Walters [Thu, 24 May 2012 22:11:06 +0000 (18:11 -0400)]
ostbuild: git-mirror: Also fetch patches git
Colin Walters [Wed, 23 May 2012 22:08:52 +0000 (18:08 -0400)]
core: Make OstreeRepo struct private
Colin Walters [Wed, 23 May 2012 22:02:08 +0000 (18:02 -0400)]
ostbuild: Fix --debug-shell option
Colin Walters [Wed, 23 May 2012 11:48:16 +0000 (07:48 -0400)]
core: Make device/inode loose object cache work for parent repos too
Otherwise ostbuild suddenly becomes significantly slower when using a
shadow repo.
Colin Walters [Tue, 22 May 2012 12:26:17 +0000 (08:26 -0400)]
ostbuild: Few more misc fixes
Colin Walters [Mon, 21 May 2012 22:41:59 +0000 (18:41 -0400)]
ostbuild: Fix typos in component lookup path
Colin Walters [Sat, 19 May 2012 00:25:02 +0000 (20:25 -0400)]
ostbuild: Enhance source-diff with --log and --logp options
Colin Walters [Sat, 19 May 2012 00:12:35 +0000 (20:12 -0400)]
ostbuild: Add source-diff builtin
OMG OMG OMG
Colin Walters [Sat, 19 May 2012 00:12:17 +0000 (20:12 -0400)]
core: Rearrange code for clarity (doesn't actually fix leaks)
Colin Walters [Wed, 16 May 2012 13:23:24 +0000 (09:23 -0400)]
ostbuild: Drop dead branch-prefix and pull-components
And other various tweaks.
Colin Walters [Tue, 15 May 2012 14:11:50 +0000 (10:11 -0400)]
ostbuild: Various fixes, removal of dead code
Colin Walters [Tue, 15 May 2012 12:54:44 +0000 (08:54 -0400)]
ostbuild: Remove /var from components
We expect them to create on demand.
Colin Walters [Tue, 15 May 2012 12:39:17 +0000 (08:39 -0400)]
ostbuild: Fix git-mirror
Colin Walters [Tue, 15 May 2012 02:43:25 +0000 (22:43 -0400)]
ostbuild: Some work on qemu deployment
Colin Walters [Mon, 14 May 2012 13:29:38 +0000 (09:29 -0400)]
ostadmin: Update for new trees/ location of trees
Colin Walters [Tue, 15 May 2012 00:47:14 +0000 (20:47 -0400)]
ostbuild: Add import-tree
This is the new workflow:
$ ostbuild import-tree wip-gnome-menus-3.6
$ $EDITOR ~/build/ostbuild/snapshots/wip-gnome-menus-3.6-2012.1-abcd.json
$ ostbuild build
Colin Walters [Sun, 13 May 2012 19:53:55 +0000 (15:53 -0400)]
ostbuild: Tighten build process significantly
First, "resolve" now just picks git commits. We don't expand
config-opts and patches, nor do we generate tree contents. This makes
the generated files *much* more human editable.
Next, fold "build-components" and "compose" into just "build". One
never really wants to just build components. This lets us eliminate
binary snapshots as a concept; instead we always have a combination of
source snapshot and component/ refs.
Colin Walters [Sat, 12 May 2012 14:42:23 +0000 (10:42 -0400)]
ostbuild: More work on partial builds
Colin Walters [Fri, 11 May 2012 22:22:28 +0000 (18:22 -0400)]
ostbuild: Make partial builds work
If we have component-revisions in our source+binary snapshot, then
we can skip them.
Colin Walters [Fri, 11 May 2012 20:24:32 +0000 (16:24 -0400)]
ostbuild: Write out related objects on composes
Colin Walters [Fri, 11 May 2012 20:24:23 +0000 (16:24 -0400)]
ostbuild: Minor fixes
Colin Walters [Thu, 10 May 2012 23:07:54 +0000 (19:07 -0400)]
ostbuild: Make binary snapshots an extension of source
This significantly simplifies things; we no longer need to retrieve
individual components via 'pull-components', etc.
Colin Walters [Tue, 15 May 2012 14:43:55 +0000 (10:43 -0400)]
tests: Tweak valgrind suppression
Colin Walters [Tue, 15 May 2012 02:23:01 +0000 (22:23 -0400)]
core: Prefer packed metadata
Colin Walters [Mon, 14 May 2012 19:49:49 +0000 (15:49 -0400)]
core: Map metadata from repository as trusted
ot_util_variant_map() assumed untrusted; add a boolean, and use it for
the repository internals.